System and methods for analyzing and improving online engagement

ABSTRACT

Systems and methods provide online tools for helping a business improve its online presence. A contact importance score rates a contact&#39;s engagement with business via purchases and online contact, and may further gauge the contact&#39;s engagement with other contacts and potential contacts. An engagement score rates a business&#39; engagement with online visitors with respect to industry best practices. A method of generating the engagement score may include providing recommendations to the business for improving the engagement score. A method for recommending online content can identify public and privately-created content that is likely to engage a business&#39; users. A website builder can include a tool for aligning content on the website. The website builder can further include a tool for creating a video for promoting the business.

FIELD OF THE INVENTION

The present invention generally relates to online communication with anaudience, and, more specifically, to systems and methods for efficientlyand effectively generating a web presence that conveys desiredinformation to various requesters and facilitates user interaction withthe requesters.

BACKGROUND OF THE INVENTION

The Internet comprises a vast number of computers and computer networksthat are interconnected through communication links. The interconnectedcomputers exchange information using various services. In particular, aserver computer system, referred to herein as a web server, may connectthrough the Internet to a remote client computer system and may send, tothe remote client computer system upon request, one or more websitescontaining one or more graphical and textual web pages of information. Arequest is made to the web server by visiting the website's address,known as a Uniform Resource Locator (“URL”). Upon receipt, therequesting device can display the web pages. The request and display ofthe websites are typically conducted using a browser. A browser is aspecial-purpose application program that effects the requesting of webpages and the displaying of web pages.

Browsers are able to locate specific websites because each website,resource, and computer on the Internet has a unique Internet Protocol(IP) address. Presently, there are two standards for IP addresses. Theolder IP address standard, often called IP Version 4 (IPv4), is a 32-bitbinary number, which is typically shown in dotted decimal notation,where four 8-bit bytes are separated by a dot from each other (e.g.,64.202.167.32). The notation is used to improve human readability. Thenewer IP address standard, often called IP Version 6 (IPv6) or NextGeneration Internet Protocol (IPng), is a 128-bit binary number. Thestandard human readable notation for IPv6 addresses presents the addressas eight 16-bit hexadecimal words, each separated by a colon (e.g.,2EDC:BA98:0332:0000:CF8A:000C:2154:7313).

IP addresses, however, even in human readable notation, are difficultfor people to remember and use. A URL is much easier to remember and maybe used to point to any computer, directory, or file on the Internet. Abrowser is able to access a website on the Internet through the use of aURL. The URL may include a Hypertext Transfer Protocol (HTTP) requestcombined with the website's Internet address, also known as thewebsite's domain name. An example of a URL with a HTTP request anddomain name is: http://www.companyname.com. In this example, the “http”identifies the URL as a HTTP request and the “companyname.com” is thedomain name. A domain can further host multiple websites that can beaccessed by appending character strings that constitute the full path tothe website's files. For example, the domain for FACEBOOK includes oneor more websites, as the term is used herein, for each of its users. Auser-specific website is requested by appending a directory to theFACEBOOK main URL, e.g.: http://www.facebook.com/username.

Domain names are much easier to remember and use than theircorresponding IP addresses. The Internet Corporation for Assigned Namesand Numbers (ICANN) approves some Generic Top-Level Domains (gTLD) anddelegates the responsibility to a particular organization (a “registry”)for maintaining an authoritative source for the registered domain nameswithin a TLD and their corresponding IP addresses. For certain TLDs(e.g., .biz, .info, .name, and .org) the registry is also theauthoritative source for contact information related to the domain nameand is referred to as a “thick” registry. For other TLDs (e.g., .com and.net) only the domain name, registrar identification, and name serverinformation is stored within the registry, and a registrar is theauthoritative source for the contact information related to the domainname. Such registries are referred to as “thin” registries. Most gTLDsare organized through a central domain name Shared Registration System(SRS) based on their TLD.

The process for registering a domain name with .com, .net, .org, andsome other TLDs allows an Internet user to use an ICANN-accreditedregistrar to register their domain name. For example, if an Internetuser, John Doe, wishes to register the domain name “mycompany.com,” JohnDoe may initially determine whether the desired domain name is availableby contacting a domain name registrar. The Internet user may make thiscontact using the registrar's webpage and typing the desired domain nameinto a field on the registrar's webpage created for this purpose. Uponreceiving the request from the Internet user, the registrar mayascertain whether “mycompany.com” has already been registered bychecking the SRS database associated with the TLD of the domain name.The results of the search then may be displayed on the webpage tothereby notify the Internet user of the availability of the domain name.If the domain name is available, the Internet user may proceed with theregistration process. Otherwise, the Internet user may keep selectingalternative domain names until an available domain name is found. Domainnames are typically registered for a period of one to ten years withfirst rights to continually re-register the domain name.

The information on web pages is in the form of programmed source codethat the browser interprets to determine what to display on therequesting device. The source code may include document formats,objects, parameters, positioning instructions, and other code that isdefined in one or more web programming or markup languages. One webprogramming language is HyperText Markup Language (“HTML”), and all webpages use it to some extent. HTML uses text indicators called tags toprovide interpretation instructions to the browser. The tags specify thecomposition of design elements such as text, images, shapes, hyperlinksto other web pages, programming objects such as JAVA applets, formfields, tables, and other elements. The web page can be formatted forproper display on computer systems with widely varying displayparameters, due to differences in screen size, resolution, processingpower, and maximum download speeds.

For Internet users and businesses alike, the Internet continues to beincreasingly valuable. More people use the Web for everyday tasks, fromsocial networking, shopping, banking, and paying bills to consumingmedia and entertainment. E-commerce is growing, with businessesdelivering more services and content across the Internet, communicatingand collaborating online, and inventing new ways to connect with eachother. However, presently-existing systems and methods for designing andlaunching a website require a user wishing to establish an onlinepresence to navigate through a complicated series of steps to do so.First, the owner must register a domain name. The owner must then designa website, or hire a website design company to design the website. Then,the owner must purchase, configure, and implement website-relatedservices, including storage space and record configuration on a webserver, software applications to add functionality to his website,maintenance and customer service plans, and the like. This process canbe complicated, time-consuming, and fraught with opportunity for usererror. It may also be very expensive to produce, serve, and maintain theuser's website. Merchants may be hesitant to create an online presencebecause of the perceived effort involved to do so. These merchants limittheir business to offline “brick and mortar” points of sale.

Some existing website design approaches can simplify the design processthrough automation of certain of the design process steps. Typically, auser is provided a template comprising a fully or substantiallyhard-coded framework. The user must then customize the framework byproviding content, such as images, descriptive text, web page titles andinternal organizational links between web pages, and element layoutchoices. However, users that are not experienced with website design orhave little time to focus on the details may publish websites thatcontain layout errors, such as misaligned content, and may not have thecapacity to produce valuable website content such as business-promotingvideos.

Furthermore, a valuable web presence now extends far beyond the user'swebsite. Customers commonly engage with businesses and with each otheronline via social networks, business listing services, and email andother direct communication. There can be significant pressure on abusiness to stay in close contact with its customers by quicklyresponding to their messages and routinely posting online content thatengages customers and draws new visitors to the user's social networkpages, business listings, and website.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is schematic diagram of a system and associated operatingenvironment in accordance with the present disclosure.

FIG. 2 is a flow diagram of a method of generating a contact importancescorecontact importance score in accordance with the present disclosure.

FIG. 3 is a diagram of a single feed of interaction data entries.

FIG. 4 is a diagram of an expanded display conveying a contactimportance scorecontact importance score.

FIG. 5 is a flow diagram of a method of generating an engagement scorein accordance with the present disclosure.

FIG. 6 is a diagram of a score overview screen conveying an engagementscore.

FIG. 7 is a diagram of a recommendations screen conveyingrecommendations for improving a user's web presence.

FIG. 8 is flow diagram of a method of recommending online content to auser in accordance with the present disclosure.

FIG. 9 is a diagram of a potential content feed conveying suggestedcontent.

FIG. 10 is a diagram of a detail screen conveying the content of asuggested article and a post interface.

FIG. 11 is a block diagram showing the functional components of a systemfor generating websites according to the present disclosure.

FIGS. 12-17 are schematic diagrams demonstrating alignment of misalignedwebsite content in a website builder interface.

FIG. 18 is a flow diagram of a method of aligning website content inaccordance with the present disclosure.

FIG. 19 is a flow diagram of a method of creating a video for a user'sbusiness in accordance with the present disclosure.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention overcomes the aforementioned drawbacks byproviding a system and method for improving the creation and managementof a website owner's web presence by automatically retrievinginformation from a number of data stores to promote the website owner'ssocial media engagement and presented content. The system and methodfurther improves the presentation of content within the website owner'swebsite by automatically producing content and rearranging contentaccording to favorable placement and alignment rules. The web servertasked with serving the web page to requesting devices, also known as ahosting provider, may perform one or more disclosed algorithms.Alternatively, the web server may assign the performance to a relatedcomputer system, such as another web server, collection of web or otherservers, a dedicated data processing computer, or another computercapable of performing the algorithms. Alternatively, a standaloneprogram may be delivered to and installed on a personal computingdevice, such as the user's desktop computer or mobile device, and thestandalone program may be configured to cause the personal computingdevice to perform the algorithms. For clarity of explanation, and not tolimit the implementation of the present methods, the methods aredescribed below as being performed by a web server that serves the webpage to requesting devices. The creation of web pages is described witha left-sided prioritization for left-to-right reading countries; it willbe understood that left and right directions may be reversed forright-to-left reading countries.

In one implementation, the present disclosure describes a method by aserver computer electronically connected to a communication network. Themethod includes collecting interaction data of a user, and calculatingone or both of a contact importance score for each of one or morecontacts that produced a portion of the interaction data, and anengagement score for the user. The contact importance score may includea plurality of components, including one or more of a contact type, acontact location, a contact industry, a contact purchase history, acontact interactivity history, and a contact online reach. Calculatingthe importance score may include obtaining a value for each of theplurality of components, adjusting the values of each of the componentsaccording to a predetermined weight corresponding to the importance ofthe component to an industry of the user, and combining the values toobtain the contact importance score. The method may further include, foreach contact for which the contact importance score is calculated,identifying the contact from the interaction data and collecting contactdata from one or more data stores, the contact data being related to thecontact's interactions with the user. The contact importance score maybe calculated for the contact from the contact data. The method mayfurther include organizing each discrete element of the interaction dataas a feed entry in a single feed and displaying, via an interface, thesingle feed to the user with the feed entries arranged by contactimportance score of the contact that produced the discrete element ofthe interaction data. The method may further include receiving aselection of one or more of the feed entries, and updating thecalculating step according to the selection.

The method may include collecting engagement data that includes theinteraction data and web presence data, and calculating one or morecomponents of the engagement score from the engagement data; theengagement score may be calculated using the components of theengagement score. The method may further include presenting to the userone or more recommendations for improving the engagement score. Therecommendations may correspond to an age of the user's business. Themethod may further include determining the age of the user's businesswithin a business lifecycle framework. The components of the engagementscore may correspond to one or more best practices of an industry of theuser's business. The computer server may calculate both of the contactimportance score and the engagement score, and the method may furtherinclude identifying the contact from the interaction data and collectingcontact data from one or more data stores, the contact data beingrelated to the contact's interactions with the user. The contactimportance score may be calculated for the contact from the contactdata. The contact importance score may include a plurality ofcomponents, including one or more of a contact type, a contact location,a contact industry, a contact purchase history, a contact interactivityhistory, and a contact online reach.

The method may further include identifying, according to an algorithm, aplurality of potential content, receiving a selection of the potentialcontent as selected content, posting the selected content to one or moreonline platforms of the user, and updating the algorithm based on theinteraction data, the interaction data including one or moreinteractions of the user's audience with the selected content.Identifying the plurality of potential content may include searching oneor more data stores for public content using one or more keywordsrelated to an industry of the user. The interaction data may be used toidentify the potential content.

In another implementation, the present disclosure describes a method bya server computer electronically connected to a communication network.The method includes identifying a plurality of potential contentincluding one or both of public content and original content, andposting one or more of the plurality of potential content to one or moreonline platforms of a user, wherein identifying the original contentincludes automatically commissioning the generation of the originalcontent. The method may further include monitoring one or moreinteractions of the user's audience with the posted potential contentand updating a ratio of original content to public content based on themonitored interactions, the ratio being used to identify the potentialcontent. The method may further include displaying the potential contentto the user and receiving a selection by the user of the potentialcontent, wherein the potential content that is posted to the one or moreplatforms is the potential content selected by the user. The method mayfurther include determining a strategic time for posting content to theone or more platforms, receiving from a user an identification of “smartpost” potential content, and posting the “smart post” potential contentto the one or more platforms at the strategic time. The strategic timemay depend on the user's industry.

In yet another implementation, the present disclosure describes a methodby a server computer electronically connected to a communicationnetwork. The method includes providing an interface for configuring theserver computer to generate a website, receiving a request to align aplurality of elements on one or more web pages of the website, aligningthe elements, and publishing the one or more web pages. The interfacemay include a grid having a selected resolution, and the method mayinclude aligning a top edge and a left edge of a first of the elementswith the grid, and aligning a top edge of each of the remaining elementswith the top edge of the first element. Aligning the elements mayinclude: from the elements, creating a plurality of groups of elements;aligning each of the groups with the other groups; and, within eachgroup, aligning the elements of the group with each other. Aligning theelements may further include aligning at least one element from eachgroup with at least one element of one or more of the other groups.Creating the plurality of groups may include identifying one or morecontextual indicators that two or more of the elements should be groupedtogether, the contextual indicators including one or more of: similarityof element properties, absolute or relative positioning in approximatelythe same column or row of pixels, placement within common HTML tags, andsimilarity of element types. The contextual indicators may furtherinclude a graphical similarity to a standard web page structure.Aligning the elements may further include creating one or more familygroups containing a plurality of the groups, and aligning the groupswithin each family group.

The elements may include a plurality of images. A first of the imagesmay have a greater height than a second of the images, and aligning theelements may include resizing the height of the second image to theheight of the first image. Aligning the elements may include determiningif a first of the elements and a second of the elements are misalignedvertically by less than an alignment threshold and, if so, moving thesecond element into a desired vertical alignment with the first element.Aligning the elements may include determining if the elements should beuniformly spaced horizontally and, if so, moving one or more of theelements so that the elements are uniformly spaced horizontally.Aligning the elements may include comparing a graphical layout of theelements to one or more standard web page structures.

The interface may be a website builder application. The website builderapplication may be configured with a drag-and-drop web page layoutdesigner. The website builder application may be further configured todisplay a button that the user presses to request alignment of theelements on the web page.

In yet another implementation, the present disclosure describes a methodby a server computer electronically connected to a communicationnetwork. The method includes collecting video content from a website,the video content including theme data and presentation data, producinga video from the video content, and publishing the video. The theme datamay include a color scheme, and the color scheme may be identified fromone or more images on the website. The color scheme may be identifiedusing frequency analysis of pixel colors in the one or more images. Thepresentation data may include a business name, one or more images, andone or more paragraphs of text. The method may further includecollecting supplemental video content, wherein the video is producedfrom the video content and the supplemental video content. Thesupplemental video content may be collected from one or more data storesnot including the website. Producing the video may include transmittingto a video production service the video content and receiving the videofrom the video production service. Publishing the video may includeadding the video to a web page of the website.

In yet another implementation, the present disclosure describes a methodby a server computer electronically connected to a communicationnetwork. The method includes collecting video content from a website,the video content including theme data including a color scheme of thewebsite, and presentation data including a business name, a plurality ofimages, and a plurality of paragraphs of text. The method furtherincludes producing a video from the video content, the video promoting abusiness described by the website, and publishing the video to thewebsite. The theme data may further include one or more of a businesslogo, a font, a typeset, one or more design elements, and one or moresound files. The method may further include collecting supplementalvideo content, wherein the video is produced from the video content andthe supplemental video content. The supplemental video content may becollected from one or more data stores not including the website. Thedata stores may include one or more of: a search engine; a websiteinformation database; a government records database; a public dataaggregator; a social networking data store; a business listing datastore; and a media-specific data store. Producing the video may includetransmitting to a video production service the video content andreceiving the video from the video production service.

Referring to FIG. 1, a web server 100 may be configured to communicateover the Internet with one or more requesting device 110 in order toserve requested website content to the requesting device 110. Therequesting devices 110 may request the website content using anyelectronic communication medium, communication protocol, and computersoftware suitable for transmission of data over the Internet. Examplesinclude, respectively and without limitation: a wired connection, WiFior other wireless network, cellular network, or satellite network;Transmission Control Protocol and Internet Protocol (“TCP/IP”), GlobalSystem for mobile Communications (“GSM”) protocols, code divisionmultiple access (“CDMA”) protocols, and Long Term Evolution (“LTE”)mobile phone protocols; and web browsers such as MICROSOFT INTERNETEXPLORER, MOZILLA FIREFOX, and APPLE SAFARI.

A requesting device 110 may be a device for which web pages aretypically designed without concern for display, user interface,processing, or Internet bandwidth limitations, including withoutlimitation personal and workplace computing systems such as desktops,laptops, and thin clients, each with a monitor or built-in large display(collectively “PCs”). A requesting device 110 may be a device thatcannot display the informational and functional content of web pagesthat are designed for viewing on PCs. Such limited devices includemobile devices such as mobile phones and tablet computers, and mayfurther include other similarly limited devices for which conventionalwebsites are not ordinarily designed. Mobile devices, and mobile phonesin particular, have a significantly smaller display size than PCs, andmay further have significantly less processing power and, if receivingdata over a cellular network, significantly less Internet bandwidth.

The web server 100 may be configured to create and/or serve a websitethat adapts to the requirements of requesting devices 110 with differentcapabilities as described above. In some embodiments, such adaptationmay include generating a plurality of versions of the website thatconvey substantially the same content but are particularly formatted tobe displayed on certain requesting devices 110, in certain browsers, oron certain domains (e.g. FACEBOOK or GOOGLE+). For example, the webserver 100 may generate a first version of the website that is formattedfor PCs, and a second version of the website that is formatted fordisplay on mobile phones. In other embodiments, such adaptation mayinclude converting a website from a format that can be displayed on onetype of requesting device 110 into a website that can be displayed onanother type of requesting device 110. For example, the web server 100may, upon receiving a request for the website from a mobile phone,convert the website designed to be displayed on a PC into a format thatcan be displayed on the mobile phone. In the present disclosure,therefore, the term website refers to any public, private, orsemi-private web property on which a user may maintain information andallow the information to be presented to the public or to a limitedaudience, and which is communicable via the Internet. Non-limitingexamples of such web properties include websites, mobile websites, webpages within a larger website (e.g. profile pages on a social networkingwebsite), vertical information portals, distributed applications, andother organized data sources accessible by any device that may requestdata from a storage device (e.g., a client device in a client-serverarchitecture), via a wired or wireless network connection, including,but not limited to, a desktop computer, mobile computer, telephone, orother wireless mobile device; content feeds and streams including RSSfeeds, blogs and viogs, YOUTUBE channels and other video streamingservices, and the like; and downloadable digital platforms, such aselectronic newsletters, blast emails, PDFs and other documents,programs, and the like.

Furthermore, the web server 100 may be configured to serve a userinterface to the device 105 that is able to connect electronically tothe web server 100 over the Internet or another computer network, and isused to maintain the website and other elements of the owner's webpresence. The user device 105 may be any suitable web access device,including a personal computer, tablet, smartphone or other mobiledevice, and the like. The web server 100 may be configured to adapt andserve the user interface to any user device 105 used to access the webserver 100. The user may be an individual, a group of individuals, abusiness or other organization, or any other entity that desires tobuild a website or web presence and use it to convey information aboutitself or another topic, where the information may be of a commercial ora non-commercial nature. For clarity of explanation, and not to limitthe implementation of the present methods, the methods are describedbelow as being performed by a web server that receives input forcreating a website for a small business, such as a restaurant or bar,retail store, or service provider (i.e. barber shop, real estate orinsurance agent, repair shop, equipment renter, and the like), unlessotherwise indicated.

The web server 100 may be configured to communicate electronically withone or more data stores in order to retrieve information from the datastores. The electronic communication may be over the Internet using anysuitable electronic communication medium, communication protocol, andcomputer software including, without limitation: a wired connection,WiFi or other wireless network, cellular network, or satellite network;TCP/IP or another open or encrypted protocol; browser software,application programming interfaces, middleware, or dedicated softwareprograms. The electronic communication may be over another type ofnetwork, such as an intranet or virtual private network, or may be viadirect wired communication interfaces or any other suitable interfacefor transmitting data electronically from a data store to the web server100. In some embodiments, a data store may be a component of the webserver 100, such as by being contained in a memory module or on a diskdrive of the web server 100.

A data store may be any repository of information that is or can be madefreely or securely accessible by the web server 100. Suitable datastores include, without limitation: databases or database systems, whichmay be a local database, online database, desktop database, server-sidedatabase, relational database, hierarchical database, network database,object database, object-relational database, associative database,concept-oriented database, entity-attribute-value database,multi-dimensional database, semi-structured database, star schemadatabase, XML database, file, collection of files, spreadsheet, or othermeans of data storage located on a computer, client, server, or anyother storage device known in the art or developed in the future; filesystems; and electronic files such as web pages, spreadsheets, anddocuments. Each data store accessible by the web server 100 may containinformation that is relevant to the creation of the website, asdescribed below. Such data stores include, without limitation to theillustrated examples: search engines 115; website information databases120, such as domain registries, hosting service provider databases,website customer databases, and internet aggregation databases such asarchive.org; government records databases 125, such as business entityregistries maintained by a Secretary of State or corporation commission;public data aggregators 130, such as FACTUAL, ZABASEARCH, genealogicaldatabases, and the like; social networking data stores 135, such aspublic, semi-private, or private information from FACEBOOK, TWITTER,FOURSQUARE, LINKEDIN, and the like; business listing data stores 140,such as YELP!, Yellow Pages, GOOGLE PLACES, LOCU, and the like;media-specific data stores 145, such as art museum databases, librarydatabases, and the like; point-of-sale transaction data stores 150;offline crawling data stores 155; and entity candidate data stores 160as described below.

Contact Importance Scoring

The web server 100 may be configured to analyze a plurality of aspectsof the user's social media engagement and to provide, through theinterface on the user's device 105, displays conveying the results ofthe analysis to the user. In one aspect, the web server 100 may providea contact importance score for one or more of the user's contacts. Thecontact importance score may depend on several factors, includingwithout limitation: the contact type, such as an individual,member/subscriber or non-member, business, critic/press, and the like;the contact's geographic location; the contact's industry of employment;the contact's purchase history; the contact's history of onlineinteractivity with the user; and the contact's own social/online mediareach, including metrics such as number of followers or subscribers,posting (i.e., presentation of new media content) frequency on variouswebsites, and the like. The factors may further include one or morescores for the contact that are generated by a separate scoringalgorithm. For example, the contact importance score may include as afactor a social media influence score generated for the contact by thirdparty. Non-limiting examples of such third-party scores include: aKlout® score, which is a measurement of the contact's social medianetwork, production of interactive content, and ability to drive action;a Peerlndex score, which measures similar factors to Klout but withtime-based averaging of scores; and a Kred score, produced byPeopleBrosr.

The web server 100 may also determine whether the contact uses anyparticular services, and may adjust the contact importance scoreaccordingly. For example, the web server 100 may produce contactimportance scores for the user via the Website Builder application,offered by GoDaddy Operating Company, LLC (“GoDaddy”), and in thisenvironment the web server 100 may determine whether the user uses anyother of GoDaddy's small business services, such as its online store orinvoicing and bookkeeping services. The web server 100 may value acontact that does use any such services higher than a contact that doesnot, and may therefore increase the contact importance score for theformer contact as compared to the latter contact.

Through analysis and relative weighing of the contact importance scorefactors, the web server 100 may indicate to the user, via the contactimportance score, a particular contact's value to the user's business.The value may be considered contextually in terms of both realized andpotential direct and indirect commercial benefit generated by thecontact. Direct commercial benefit may be understood as the revenue thebusiness has generated from the contact's purchases as a current or pastcustomer of the user's business. A realized direct commercial benefitmay be the total amount of money spent by the contact on the user'sgoods or services, as identified by the web server's 100 access of thedata stores. A potential direct commercial benefit may be an estimationof the contact's continued direct purchases from the user, based ontrend analysis of past spending behaviors on the user's and otherproducts, on the contact's social network activity (e.g., a blog postdescribing the user's product), or on a combination thereof or on otherfactors. A realized indirect benefit may be an amount of sold productsto other customers that were driven to the user's website or store bythe contact's advice. Such traffic may be traceable to the contact byseveral means, including collection of referral information directlyfrom the other customers, and link-tracking in online content.Similarly, a potential indirect benefit may be an analysis of thecontact's reach. For example, a contact has a high potential indirectbenefit if her social network is large and/or she generates anattractive volume of frequently visited online content.

The user may view the contact importance score as a gauge of the impactthe contact has or may have on the user's business. Furthermore, the webserver 100 may calculate a contact importance score for a person who isnot a customer, but is a potential customer or even simply an entitythat is attempting to interact with the user online. For example, theweb server 100 may deliver to the user a message from the entity via anonline communication channel (e.g., TWITTER, FACEBOOK, email, etc.), andthe web server 100 may calculate the contact importance score for thatentity by, for example, applying the method below. The user may thenreference the contact importance score in deciding whether and how torespond to the entity, whether or not the entity is a customer.

FIG. 2 illustrates a method performed by the web server 100 forgenerating and providing the contact importance score. The method mayinclude, at step 200, collecting interaction data from one or more ofthe data stores 115-160. The interaction data may be any online contentrelated to the user that can be obtained on an interactive platform.Interactive platforms may include social networking platforms such asTWITTER, FACEBOOK, PINTEREST, and the like; business listing and reviewplatforms such as YELP! and GOOGLE Places for Business; online contentplatforms such as blogging platforms (WordPress, SquareSpace, Blogger,Tumblr) and newsfeed platforms (Reddit, RSS aggregators); email andother messaging platforms; and other platforms. In some embodiments, allor a portion of the interaction data may be private or semi-private, andthe collection step 200 may include obtaining authorized access to theinteraction data, such as by the web server 100 logging into the user'saccount and/or accessing the user's profile or newsfeed on the platform.

In particular, interaction data may include text, images, hyperlinks,and other HTML and metadata that make up a “post” that is directed at ormentions the user's business. Examples of posts include, withoutlimitation: a direct message to the user via the user's email address orone or more of the user's social networking profiles (e.g., using anemail client, a Short Messaging Service (SMS) or other cellular phonenetwork and protocol, or a direct messaging client within a socialnetworking platform (e.g., FACEBOOK Messenger)); a public orsemi-private message directed at the user, such as a “tweet” or“retweet” between the contact's and the user's TWITTER profiles; asocial network post, such as a FACEBOOK status update or new entry in anINSTAGRAM photo feed; a blog or other website article; a comment on abusiness listing (e.g., a YELP! review), an article, a social networkpost, or another source of relevant online content; and a reposting ofcontent from the user's website or social networking profile, such as aFACEBOOK “share” or a link to the user's webpage. In some embodiments,the user may configure the web server 100 to collect interaction datathat does not mention the user's business. For example, the user mightconfigure the web server 100 to collect data from any post by aparticularly important contact, even if the post does not pertaindirectly to the user's business.

The interaction data collected at step 200 may further includeinformation pertaining to the entity (i.e., entity data) that authoredor otherwise made available each collected post. In some embodiments,the entity data may include data that can be obtained from the entity'suser profile on whichever platform hosts the post. Specifically, theentity data may include the entity's user name, real name or businessname, email address or other contact information, geographic location,employer, and other biographical information as it may be obtained fromthe entity's user profile. It will be understood that the type of datathat can be obtained may depend on the service (i.e., platform) that ishosting the relevant post. In some embodiments, the entity data mayinclude such biographical data as described above, but obtained fromanother source. For example, the web server 100 may collect anidentifier of the entity, such as a user name, real name, or emailaddress, from the post itself, and then may search public records usingthe identifier to obtain the biographical information. In someembodiments, the web server 100 may itself search public records in thedata stores 115-160 it can access. In other embodiments, the web server100 may feed the identifier into a records retrieval service to obtainthe biographical information.

At step 205, the web server 100 may identify one or more importantcontacts of the user's business from the interaction data. An importantcontact may include any or all of the user's past and current customers.Such identification may therefore include comparing the entity datawithin the interaction data to a database of the user's customers. Insome embodiments, the web server 100 may search a customer contactdatabase using an identifier of the entity contained in the entity data,as described above. For example, where the user keeps all of itscustomer contact information in an electronic rolodex (e.g., MICROSOFTOutlook contacts, FullContact, Data.com, Contactually, Plaxo, Factual),the web server 100 may identify whether the identifier for the entity isa match to any of the records in the electronic rolodex. In someembodiments, the web server 100 may identify whether an entity, thoughtnot a past or current customer, is an important contact as either a“lead” (i.e., a potential customer) or an “influencer” of buyer behaviorin the field of the user's business. An entity may be identified as alead by analyzing its interactions with the user, with the user'scompetitors, or with its own social networks. Non-limiting examples ofsuch analysis include: semantic analysis of direct interactions with theuser on one or more of the user's platforms, such as to ascertain one ormore characteristics of the user's relationship with the entity (e.g.,the entity inquires about products or services of the user, or theentity has posted about the business on various platforms in the past);semantic or pattern analysis of the entity's interactions with competingbusinesses on their online platforms, such as repeated posts, shares, or“likes” of content on profiles of multiple competitors, which reflectsinterest in related products; and review of mutual contacts to determineif the entity has connections to the user's customers. An entity may befurther or alternatively identified as an influencer by analyzing theentity's online “reach,” such as the size of the entity's socialnetworks, the frequency and level of engagement with the entity's postsrelated to the industry, etc.

At step 210, the web server 100 may collect contact data for one or moreof the contacts identified at step 205. The contact data may include anyof the data collected as entity data described above, and may furtherinclude data pertaining to the contact's past interactions with theuser's business, and data pertaining to any factor of the contactimportance score. Example contact data includes, without limitation:data related to purchase history, such as dates and amounts ofpurchases, products purchased and amounts thereof, and the like, as wellas aggregate and/or trend analysis of such purchase data; data relatedto the contact's online interactions with the user and/or the user'sbusiness, such as an accounting of previous posts made by the contact toor about the business (including dates and content of posts); datarelated to the contact's online presence, such as website addresses,social networks on which the contact has a user profile, frequency ofposts on any of the contact's online platforms, frequently visitedwebsites, and the like; data related particularly to the contact'ssocial networking presences (as it may differ from the contact's generalonline presence data), such as the number of friends, followers, orsubscribers to the contact's user profiles or news feeds; and datarelated to any other relevant activities of the contact, such as whetherthe contact is a user of a particular service (e.g., GoDaddyBookkeeping, described above). The contact data may further include ascore or collection of scores for the contact generated by other scoringalgorithms, such as a Klout social influence score.

From the collected contact data, at step 215 the web server 100 maycalculate the contact importance score. Any suitable algorithm may beused to weigh elements of the collected data that correspond to thefactors of the contact importance score. In an exemplary embodiment, thecontact importance score may be comprised of eight equally weightedcomponents, each graded on a scale of 1-10 and then averaged todetermine a contact importance score of 1-10. The eight componentscorrespond to the eight factors identified above: contact type; contactlocation; contact industry; contact purchase history; contactinteractivity history; contact online reach; contact scores from otherscoring algorithms; and contact usage of related services. A higherscore indicates a better capacity to drive business to the user, and thecapacity to drive business may be determined by the user's industry,location, age (i.e., its position in a typical business life cycle forits industry), or a combination thereof. In other embodiments, there maybe more or fewer components, and the components may have differentweights according to the factors that are more important to a particularbusiness or industry. For example, contact importance for restaurantsmay heavily weight factors such as frequency of the contact's posts onplatforms such as Yelp and Foursquare, number of followers the contacthas who also post frequently on Yelp, and frequency that the contactmentions food topics on FACEBOOK, TWITTER, and other platforms. Incontrast, contact importance for a hair salon may heavily weightcustomer influence on platforms such as Pinterest, Yelp, and FACEBOOK,and amount of followers that are within five miles of the hair salon.Furthermore, the web server 100 may adapt the weights of the componentsover time in response to the user's input (or lack thereof), asdescribed further below, so that contact importance scoring moreaccurately reflects the goals of the user.

As illustrated, subsequent to the collection of interaction data at step200, and in conjunction with the generation of customer importancescores, at step 250 the web server 100 may organize the interaction datainto a folder structure that is conducive to the user's access. Forexample, the data may be organized by type of post (i.e., directmessage, semi-private or public message, “mention” in a post), byplatform or service, or by content. Examples of content classificationinclude positive versus negative comments, requests for contact, and thelike. In some embodiments, step 250 may take place after contacts areidentified from the interaction data at step 205, and contentclassification can include classification by customer, business lead,influencer, etc. The organization step 250 may be optional, and may beskipped and the interaction data presented to the user in other formats,such as chronologically or by platform.

In some embodiments, at step 255 the interaction data may be organizedfor presentation to the user via display of a single feed. The singlefeed may include all of the interactions, presented agnostically in anysuitable newsfeed format. By agnostic, it is meant that all interactionsare presented in the same ordered list regardless of the platform orservice from which the interaction data was collected. A suitablenewsfeed format may comprise entries that display the identity of theposting entity, all or a portion of the posted content, and any otherelement of the interaction data that may be valuable, such as the timeof (or time elapsed since) the posting or the platform or service onwhich it was posted. The single feed may be formatted for presentationon the user's device 105. An example display of the single feed for asmartphone is shown in FIG. 3.

Once the contact importance score(s) is(are) calculated (step 215) andthe interaction data is organized for display in the single feed (step255), at step 220 the web server 100 may display the entries for eachinteraction arranged sequentially in descending order of the postingentity's contact importance score. In this manner, the interaction datamay be prioritized according to the posting entity's importance to theuser's business. In some embodiments, the single feed may include orprioritize only entries for interaction data that has not yet beenviewed by the user. The user may thereby rely on the single feed todetermine the interactions that, according to the contact importancescoring algorithm, are most noteworthy to be reviewed and addressed. Theexample single feed 300 of FIG. 3 includes entries 305 arranged bycontact importance score.

Presented with the single feed of interactions, the user may select anyentry in the single feed to view an expanded display of the interactiondata associated with that entry. At step 225, for any entry in thesingle feed, the web server 100 may determine whether the user selectsthe entry for further review. If the user does select the entry forreview, the web server 100 may present the expanded display for theentry to the user. Referring to FIG. 4, the expanded display 400 mayinclude the contact importance score for the contact that posted theinteraction. The contact importance score may be displayed in anysuitable format for conveying the score. In the illustrated example, thecontact importance score is displayed as a slider bar 405 with a slider410 indicating the score along the bar 405. Other suitable displaysinclude numerical, color-coded, and the like. The expanded display 400may further include additional details about the contact and her postedinteraction. The additional details may include, without limitation:contact identifying information 415, such as the contact's name orusername; the text 420 of the posted interaction; and a summary 425 ofimportant data about the contact, such as details about the contact'spurchase history, details about the contact's social networking reach,and biographical details such as a list of the contact's interests. Theexpanded display 400 may further include one or more action buttons 430for taking action on the interaction. Example actions, as associatedwith the illustrated buttons 430, include replying to the contact'smessage, reposting the contact's message, marking the entry as importantor a favorite (e.g., to indicate to the user to return to the entrylater), and storing the entry in one of the folders described above.

Referring again to FIG. 2, if the user does not select the feed entry atstep 225, the web server 100 may interpret the user's failure to selectthe entry as an indication that the interaction or entity associatedwith the entry is not as important to the user as was calculated at step215. The web server 100 may wait for a predetermined amount of time topass, or for a predetermined number of other entries to be selected,before determining that a particular unselected entry is not relevant tothe user. In such a case, at step 235 the web server 100 may update thecontact importance scoring algorithm, causing it to “learn” that thecalculation for that contact is faulty for some reason. Over time, acollection of faulty calculations may exhibit commonalities in theirdata that the web server 100 may identify. The web server 100 maythereby improve the contact importance scoring algorithm by emphasizingor de-emphasizing factors or components of the score to produce moreconsistently relevant results.

Social Media Presence Analysis and Recommendations

The web server 100 may further use the interactive data, as collected atstep 200 of FIG. 2 or as formatted into the single feed described above,to appraise the user's social media presence and to recommend actionsthat may improve the user's social media and other online presences. Insome embodiments, the web server 100 may analyze the interaction data,either on its own or in combination with other web presence data or withcomparative data, to produce an engagement score for the user. Theengagement score may be relative to an ascertainable set of bestpractices for the user's industry. That is, businesses in differentindustries may use different online platforms with varying frequency toengage their customers and potential customers. For example, a hairsalon may benefit greatly from sharing a large volume of high-resolutionimages (e.g., of hairstyles) with its online audience, and therefore maywish to post new content to its PINTEREST account more often than arestaurant or mechanic would use that service.

The aspects of an industry that are relevant to its online engagementbest practices may include, without limitation: type of goods orservices sold, including the nature (e.g., platforms, fulfillmentpractices, frequency, volume, shipping and return policies, etc.) oftypical online commerce in those goods or services; customerdemographics, including age, gender, and geographic location; andgeographic penetration, such as whether the industry is local (typicallypersonal services such as barbers, dentists, massage parlors, and thelike, but also small goods such as bookstores), metropolitan or regional(e.g., restaurants and breweries, amusement parks, museums), orsuper-regional (e.g., chain stores, franchises, and large retailers). Inturn, the industry best practices for a business that are relevant tothe user's engagement score may include, without limitation: platformson which content is shared; content of user profiles on each platform;type and frequency of new content shared by the business; acceptance ofinteractions from followers (e.g., enabling public comments on a blogpost); response time to interactions from followers; position and toneof the user's representative(s) (i.e., WHO is posting personal content(owner, manager, employees, etc.) and how does that person's onlinepersonality reflect on the business?); paid and unpaid advertisementplacement and other marketing practices; and other aspects of bestpractices, which may depend on the industry.

The user's engagement score may further include comparative data of theuser's online presence to those of its competitors. As described furtherbelow, the web server 100 may identify one or more of the user'scompetitors and analyze elements of the competitors' websites, socialnetworks, and other online platforms. Suitable aspects for comparisonmay depend on the industry and its best practices, and may include,without limitation: presence on a particular online platform, and typeand frequency of posts thereon; size of social networks (e.g., for aparticular platform, number of followers in the first generation (i.e.,direct) and second generation (i.e., followers of followers)); type andamount of common followers; frequency and content of views, shares,comments, reviews, etc., on competitor's profiles or posts; and businessinformation, such as hours, products offered online or not online,prices, etc.

Referring to FIG. 5, to calculate and present the user's engagementscore, the web server 100 may first collect engagement data, at step500. The engagement data may include web presence data describing theuser's web presence. The web presence data may include any data that theuser has himself made available via an online platform (herein“user-posted data”). Non-limiting examples of user-posted data includethe user's website, data from user profiles, postings of originalcontent (e.g., blog posts, status updates, uploaded images, and thelike), shared content (e.g., retweeted TWITTER posts or FACEBOOKshares), emails and sent personal messages, replies to messages,comments in conversations or threads, and other data posted by the user.The web presence data may further include any data mentioning, orotherwise relevant to, the user's business, which other entities haveput online (herein “entity-posted data”). Non-limiting examples ofentity-posted data include any of the interaction data described abovewith respect to the step 200, as well as data pertaining to the businesswhich is not interaction data, such as online platform contentidentified through internet search analytics and searches.

Particularly regarding this search-identified content, the web server100 may execute searches of any of the data stores 115-160 to collectinformation that is relevant to the business but may not mention thebusiness. For example, the web server 100 may ascertain the industry ofthe user's business, and then may access or perform an analysis ofhigh-traffic keywords that are related to the industry and arefrequently used in internet searches, such as for products offered bythe industry participants. The web server 100 may identify “hot” (i.e.,currently popular or exceptionally high-traffic) keywords for the user'sbusiness, which may be all or a subset of keywords having a particularlevel of traffic. A subset of such keywords may be identified bynarrowing the keywords, such as by traffic from certain geographicareas, by frequency of advertisements bought for the keyword, byfrequency searched as an n-gram with other relevant keywords, and thelike. The hot keywords and the top results in searches for the hotkeywords may all be considered search-identified content to be includedin the calculation of the user's engagement score.

Comparative data from competitors' web presences may be consideredentity-posted data relevant to the user's business, and may therefore beidentified as described above with respect to search-identified content.Alternatively, the web server 100 may perform a discrete process ofidentifying the user's business competitors and collecting data fromidentified competitors' web presences. Any suitable process ofidentifying competitors may be used, including those processes describedin copending U.S. patent application Ser. No. 14/010,294, filed Aug. 26,2013, entitled “METHOD FOR AUTOMATING SEARCH ENGINE OPTIMIZATION FORWEBSITES,” owned by Go Daddy Operating Company, LLC, and incorporatedherein by reference. The web server 100 may access any suitable datastore 115-160 to identify competitors and obtain comparative data. U.S.patent application Ser. No. 14/010,294 further describes suitablemethods for extracting data from the competitors' websites (e.g., byscraping metadata and source code), which may also be performed oncompetitors' user profiles, blogs, news feeds, and the like, on anyonline platform to which the competitors' web presences extend. Thecomparative data may be the data extracted from the competitors' webpresences, or the comparative data may be one or more metrics calculatedfrom the extracted data for comparison to comparable metrics calculatedfrom the user-posted data.

At step 505, the web server 100 may calculate, from the engagement datacollected at step 500, one or more components of the engagement score.The components of the engagement score may each relate to anascertainable best practice for the user's industry, as described above.Thus, the engagement score may be a standardized set of components thatapply, to varying degrees, across all industries, or the engagementscore may be a selection of components that are most significant to theidentified industry. In one embodiment, the engagement score componentsinclude, without limitation: the frequency of posts to each onlineplatform individually and/or in aggregate; number of posts per daycomprising new, original (i.e., not shared from another source) content;average traffic to posts; average traffic to and/or clicks onadvertisements; average number of interactions per day; average elapsedtime to read and/or respond to contact interactions; total number ofsubscribers/friends/followers on each online platform and in aggregate;and demographic ratios, such as ratio of male to female followers andratio among age groups or location.

At step 510, the web server 100 may calculate the engagement score bycomparing each calculated component to its associated industry bestpractice, and then combining the resulting comparison data to producethe engagement score. The comparison data may be a percentage, a ratio,or a numerical value representing the difference between the calculatedcomponent value and the best practice value. For example: if theindustry best practice is to post new content five times per day, andthe user is only posting an average of four times per day, the user hasan 80% score for that component; if the industry best practice is torespond to a contact's direct message within six hours, and the user isaveraging five hours in response time, the user has a 100% score forthat component (alternatively, the faster response time than bestpractice might be considered a negative, and the user may receive lessthan a 100% for the component (e.g., 84%)). If these two examplecomponents were the only components of the engagement score and wereequally weighted, the calculated engagement score would be 90%. In someembodiments, however, the components may have different weights, and theweights may change over time in accordance with changing practices ortrends in collected data, as described above with respect to calculatingthe contact importance score.

At step 525, the web server 100 may display the engagement score to theuser via the user's device 105. In some embodiments, the engagementscore may be displayed on its own, while in other embodiments step 525comprises displaying a score overview screen that includes theengagement score along with useful information that may be derived forthe user by the web server 100 from the data collected at step 500. FIG.6 illustrates an example score overview screen 600 presenting theengagement score in the form of a thermometer 605 displaying theengagement score as a percentage. The score overview screen 600 mayfurther include audience demographics 610 for each platform or in theaggregate. The audience demographics 610 or other processed data that isextractable from the calculated engagement score components may beprepared for display, at step 515, such as by incorporating them intothe score overview screen 600.

The score overview screen 600 may further include a recommendationsummary 615. The recommendation summary 615 may list recommendations tothe user for improving the user's online presence to better conform toindustry best practices (and thus improve the engagement score), as wellas to generally improve the information the user provides online. Insome embodiments, the recommendations may be derived, at step 520, fromthe calculated engagement score. In such embodiments, therecommendations may be directed to improving the engagement score bybringing the user's practices more in line with the industry bestpractices for each component of the engagement score. Thus, the webserver 100 may determine that a recommendation is needed if there is adeviation in the comparison data (i.e., the comparison data indicatesless than a 100% score) for the component. In some embodiments, thedeviation may be required to deviate at least a predetermined amount(referred to herein as a “recommendation threshold”) before the webserver 100 determines a recommendation is needed.

If a recommendation is needed, the web server 100 may review thecomparison data to identify which analyzed factors within the componentdo not satisfy the industry best practices (i.e., meet or exceed therecommendation threshold). The web server 100 then generates arecommendation, which may be a recommended action that will bring theuser's online engagement into line with the best practices. Therecommendation may be displayed to the user in the recommendationsummary 615 (step 525), or in a detailed recommendations screen 700, asshown in FIG. 7 (step 530). The example detailed recommendations screen700 presents the engagement score thermometer 605, and presents therecommendations divided into sections that correspond to the componentsof the engagement score. Specifically, the sections relate to, but arenot limited to: the user's general online presence, which may relate tothe achievement of presence-development goals based on the life cycle ofthe business; the scope of the user's social engagement, which mayrelate to the amount and frequency of posts on the user's social networkplatforms, or the average amount of time to respond to social mediainteractions; business information, which may relate to analysis of theuser's business information (operating hours, prices, offerings, etc.)in comparison to the competition or customer demands; and marketingstrategies, which may identify hot keywords or areas for advertisingbased on search analytics. In practice, the recommendations may conveysuggested actions, and if the user performs them, the user's engagementscore will improve when it is next calculated.

In some embodiments, for one or more of the engagement score componentcalculations (step 505), the contact importance score calculation (step510), and the derivation of recommendations (step 520), the web server100 may take the “age” of the business (i.e., the stage within a typicallifecycle for a business in the relevant industry) into account and mayadjust the scores or recommendations accordingly. Non-limiting examplesof parameters by which the business age may be calculated include: thenumber of years the business has been operating; the business' annual ortotal revenue or number of customers; rate of unique customer contactsper day; total number of calls or purchases per day; number of businessreviews on review platforms such as Yelp; annual expenditures, such asfor marketing or shipping; movement of the business into a largeroffice, retail, or warehouse space; and, suitable combinations of suchparameters. In some embodiments, the web server 100 may provideage-appropriate scores and recommendations according to the identifiedbest practices of the industry of the business. In some embodiments, aframework of lifecycle stages may be applied to each industry. Forexample, a lifecycle framework may be divided into the following stages:idea; startup; emerging; established; expanding; and maintaining size.Suitable goals may be determined to meet the best practices of eachindustry at each stage. In one example of taking business age intoaccount in the scoring algorithm, a company in the early stages of thebusiness would have their score based on having a profile, making surefields are populated, making sure they are on the right social networksfor their business, etc. In one example of taking business age intoaccount in recommending improvements to the user's web presence, acompany in later stages might have recommendations on how to optimizeits FACEBOOK cover photo to drive conversion, how to specify its “AboutUs” text to maximize SEO score and ability to get found online, etc.

Content Recommendations

To keep up with customer engagement and online best practices, a usermay need to post fresh content to one or more online platforms multipletimes per day. Users may quickly run out of content and may not havetime to produce more. The web server 100 may further assist a user inmaintaining his business' online presence and engaging customers andother entities with postings of new content by identifying andrecommending, to the user, content for posting to one or more of theuser's online platforms. According to the methods described below, theweb server 100 may be configured to identify any type of content thatshould engage the user's audience; thus, the systems and methods hereinfacilitate sourcing of the user's online content from a single location:the web server 100.

As described throughout this disclosure, content may be any text, image,video, web page or hyperlink thereto, combination of the foregoing, orother suitable type of information published online. The web server 100may identify any content, and in the method described below the contentmay be classified as “original” or “public” content. Original content iscontent created by or for the user, regarding a topic of the user'schoosing (usually relevant to the user's business), that is unique tothe user's web presence when the user first publishes it. Public contentis content generated by a third party, not specifically for the user,which is found on another online platform and is initially published bya party other than the user. An example of original content is a blogpost written by the user, and an example of public content is an articlefirst published on time.com that the user shares on his FACEBOOKprofile. Depending on the industry and age of the user's business, andthe reach of the user's web presence, the user may find that eitheroriginal or public content is more effective than the other atinteracting with the user's audience. The present systems and methodsanalyze the user's content to identify and leverage its popularity inproducing new content.

FIG. 8 illustrates an embodiment of a method performed by the web server100 for identifying and recommending new content to the user. At step800, the web server 100 may initially analyze the user's web presence toobtain “seeds” for identifying or generating content. The seeds may beinformation about the user's business, such as the business name andlocation, industry, names of products sold, prices, and the like. Theseeds may further be keywords identified from web pages, profiles, andposts within the user's web presence. The web server 100 may perform anysuitable method of collecting keywords from content within the user'sweb presence, including scraping HTML of web pages, performing wordfrequency analysis, etc. Through analysis of word use, as well asanalysis of traffic to web pages or profiles, the web server 100 mayweight keywords according to importance.

At step 805, the web server 100 may use the seeds to identify potentialcontent for the user's web presence. The potential content may be anycontent suitable for publication on one or more of the user's onlineplatforms. In some embodiments, the potential content may be classifiedas either public or original content. To identify public content, theweb server 100 may search any suitable data store 115-160, such as byperforming keyword searches on a search engine using the seeds,searching for occurrences of the seeds in news feeds within the user'ssocial networks, and the like. To identify original content, the webserver 100 may commission one or more content drafting services togenerate articles of original content based on the seeds. Such contentdrafting services and their content generation processes are known inthe art. For example, TextBroker engages thousands of authors thatreceive a request for original content (e.g., a blog post) on a topicand with a length and tone of the requestor's choosing, and draft theoriginal content for a fee. In some embodiments, the web server 100 mayprovide a content type (e.g., blog post, status update, etc.), length,and the seeds to one or multiple content drafting services, and mayreceive one or multiple articles of original content in return.

In some embodiments, the web server 100 may automatically post some orall of the identified content to the user's web presence as describedbelow with respect to step 820. In other embodiments, at step 810 theweb server 100 may display the identified potential content to the userfor selection of which content to post. The web server 100 may aggregateall of the identified potential content and may identify each articleby, for example: type, such as original or public; suitable platform(s)for publication (e.g., “all social networks” or “blog,” or “FACEBOOK andTWITTER”); source of content; date first published; traffic to sourcepost. As shown in FIG. 9, the web server 100 may present a potentialcontent feed 900 arranging the articles (e.g., 905) in any suitableorder and may list the source, title, and a brief summary, such as thefirst three lines of the article. The web server 100 may allow the userto select an article 905 from the feed 900 for a detailed view of thearticle 905 and posting options. FIG. 10 illustrates a detail screen 950containing the full text of the article and a post interface 955. Thepost interface 955 may present posting options to the user and receivethe user's selection. In the illustrated example, the post interface 955displays the available platforms (TWITTER, LINKEDIN, and FACEBOOK) and aswitch 960 for turning on or off the post to that platform. The postinterface 955 further allows the user to select whether to post thecontent immediately (post button 965) or with a delay referred to hereinas a “smart post” (smart post button 970). A request for a smart postinstructs the web server 100 to post the content to the selectedplatforms at a strategic time in order to increase the post's exposureto all or a select subset of the user's audience. Strategic times mayvary by industry—for example, a restaurant may receive most of its webtraffic in the hour before lunch and the hour before dinner, while amechanic may receive most of its web traffic early in the morning.Strategic times may also vary according to particular entities withinthe audience which the user especially benefits from reaching. Forexample, the web server 100 may track contact importance scores asdescribed above, and may track the times of day that a particularcontact with a high contact importance score typically engages with theuser's content. The web server 100 may post “smart post” content duringthose tracked times of day. Strategic times may also be set manually bythe user. In some embodiments, potential content that does not getselected by the user may be retained by the web server 100. Theunselected content may be made available to other users via their uniqueinstances of the post interface 955.

Referring back to FIG. 8, at step 815 the web server 100 receives thecontent selection from the user via the post interface 955. At step 820,the web server 100 may post the content according to the user'sselections. That is, the web server 100 may post the selected content tothe selected platforms immediately, or at a strategic time set by theuser or identified by the web server 100. At step 825, the web server100 may monitor interaction of the user's audience with the postedcontent. The web server 100 may track any type of interaction with thecontent, such as views, amount of time spent viewing, whether particularcontacts viewed, other links within content followed, productspurchased, shares by viewers and new traffic therefrom, comments, andthe like. In some embodiments, tracking the interaction may includecollecting interaction data as described above with respect to step 200.

At step 830, the web server 100 may use the information collected bymonitoring the interactions to update the algorithm it uses to identifycontent. In some embodiments, the web server 100 may adjust the ratio oforiginal content to public content that it identifies as potentialcontent, based on which type of content receives better quality orquantity of interactions when posted by the user. In some embodiments,the web server 100 may identify keywords within particularly popular(i.e., widely viewed, widely shared, high volume of comments, or anyother suitable relative metric for comparing interactivity with posts)posted content and may weight those keywords higher as seeds insubsequent potential content identification (step 805). The web server100 may then return to the content identification step 805 to continueidentifying potential content using the updated algorithm.

Website Builder with Social Engagement Analysis

The social engagement analysis and content recommendation toolsdescribed above may be provided to the user via the described interfacefor one or more user devices 105. In some embodiments, the interface maybe provided in one or more standalone software applications, includingsmartphone or web-based applications that perform one or more of thedescribed functions. In some embodiments, the interface may be providedto a user of a website building tool that can facilitate initialgeneration of the user's website, as well as continuing updates of thewebsite and of the user's presence on other online platforms as the userprovides access to them.

Referring to FIG. 11, a system 1000 for performing the website buildingand social engagement analysis methods described herein may include theweb server 100 and a plurality of modules for performing one or moresteps of the methods. The modules may be hardware or software-basedprocessing modules located within the web server 100, in close physicalvicinity to the web server 100, or remote from the web server 100 andimplemented as standalone server computers or as components of one ormore additional servers or of one or more other computing devices, suchas a payment terminal or cash register. The modules may include, withoutlimitation: a user interface module 1005 for providing input/outputcapabilities between the system 1000 and the user; a data retrievalmodule 1010 for performing searches of data stores; a data processingmodule 1015 for evaluating retrieved data, comparing retrieved data toother data, performing score calculations, and the like; a websitegeneration module 1020, which may be a component of the data processingmodule 1015 or a separate module, and which creates web pages and postsnew content thereto; one or more data storage modules 1025 for storingthe data retrieved by the data retrieval module, content objects createdby the data processing module 1015, and the website generated by thewebsite generation module 1020; and a payment processing module 1030 forprocessing payment information provided when a user chooses to purchasea generated website, generated content, or other elements of datagenerated via the methods herein.

The website builder may be any suitable website building applicationthat may be configured to perform or to be compatible with the methodsdescribed herein. In one embodiment, the website builder is the GODADDYWebsite Builder. In some embodiments, the website builder may use a gridlayout for what-you-see-is-what-you-get web page building, in which theuser may drag, drop, resize, change properties, and otherwise edit webpage elements in an environment that reflects what the web page willactually look like when it is published. The grid helps a user alignelements on the web page and may be set at any suitable resolution. Inother embodiments, the website builder may not use a grid.

With or without the aid of a grid, users frequently find that a web pagedesign that appears ready to publish is actually fraught with slightmisalignments. For example, as shown in FIG. 12: a first image 1300 hasa first caption 1305 below it; a second image 1310 adjacent the firstimage 1300 is aligned with the first image 1300 at the top, and thesecond caption 1315 below the second image 1310 is the same size as thefirst caption 1305, but the second image 1310 is slightly shorter (e.g.,three pixels shorter) than the first image 1300; and, a third image 1320and third caption 1325 are the same size as the first image 1300 andfirst caption 1305, but are misaligned (e.g., by about three pixels)with the first image 1300 vertically. The misalignments may not beperceived by the user, or the user may notice them but prefer not tospend the tedious effort to perfectly align all of the content. Thepresent disclosure thus provides methods for automatically aligning webpage elements and groups to correct these imperfections.

FIGS. 13-17 demonstrate alignment of the misaligned content of FIG. 12using an embodiment of an alignment method illustrated in FIG. 18. Atstep 1400 the web server 100 may provide a website builder interface(see FIG. 12) to the user, through which the user can build one or moreweb pages. The interface may include an “auto-align” button or check boxto instruct the web server 100 to perform the subsequent steps of themethod of FIG. 18. In some embodiments, the user may click “auto-align”one or more times during the building process, and the web server 100will align the current elements in the page layout each time. In someembodiments, the auto-align button or checkbox may be provided inconjunction with a “save” or “publish” button, so that theauto-alignment is performed once the page layout is finalized. In anycase, before or during publication of the web page, the web server 100receives an instruction to auto-align the web page elements as describedbelow.

At step 1405, the web server 100 may analyze the elements placed withinthe page layout to identify groups of elements that are intended to bedisplayed in contextual relationship with each other. The web server 100may analyze both the source code of the web page and the graphicallayout divorced from the source code, reading contextual indicators thatthe elements should be grouped together for alignment as describedbelow. Contextual indicators in the source code may include identical orsimilar element properties (e.g. cascading style sheet (CSS) class),absolute or relative positioning in approximately the same column or rowof pixels, placement within common or similarly structured <table>,<span>, or <div> HTML tags, same or related element types, and the like.Contextual indicators may depend on the element type as well. Forexample, in determining whether two images on the web page should begrouped, the web server 100 may analyze both their position relative toeach other and their size (i.e., width and height). Contextualindicators may include a mapping of the web page graphical layoutagainst one or more standard web page structures. For example, theillustrated web page layout includes a standard layout of an image overa text block (i.e., a caption), forming the groups 1330, 1340, 1350 ofFIG. 13, and a standard layout of image/text block groups alignedhorizontally across the page.

Elements can be in multiple groupings and may depend on other elements.In these cases, elements may be given a parent-child relationship with adefined set of attributes. Other similar parent-child entities may alsobe assigned the same set of attributes. Groups may also be nested, suchas is illustrated in FIG. 14 where the identified groups 1330, 1340,1350 are then grouped together in a “family” group 1360 corresponding tothe standard layout of the groups 1330, 1340, 1350 aligned horizontallyacross the web page.

At step 1410, the web server 100 may align the elements of each grouprelatively to each other. Where the web builder can apply a grid to thelayout, the web server 100 may use the grid to determine the elements'spatial relationships to each other, such as distance and alignment.Otherwise, the web server 100 may determine spatial relationships usingany suitable measurements, such as raw pixel count between elements ordifferences in absolute position values. In some embodiments, the webserver 100 may apply one or more thresholds to determine whether theuser intended to align two elements across the top, bottom, or sides.Thresholds may pertain to dimensions and distances of the elementsrelative to each other, to the grid lines, or both. Example thresholdsinclude, without limitation: a distance threshold related to thedistance between two elements; a size threshold related to a sizedifference between two elements; and, an alignment threshold related toa vertical or horizontal distance between corresponding edges (e.g.,tops, left sides) or between horizontal or vertical centerlines of twoelements. In an example, if the alignment threshold is five pixels, andthe first image 1300 is aligned with a grid line across its top, and thetop of the second image 1310 is less than five pixels from that gridline, the web server 100 may determine that the first and second images1300, 1310 should be aligned across the top. In another example, if thesize threshold is three percent, and the second image 1310 has the samewidth as the first image 1300 and is less than three percent shorterthan the first image 1300 (as illustrated in FIG. 12), the web server100 may determine that the first and second images 1300, 1310 should bethe same size.

The web server 100 may then correct the alignment of any elements, suchas by modifying the source code of one or more web pages of the website.For example, to increase the height of the second image 1310, the webserver 100 may read the original height of the first image 1300, andthen set the height of the second image 1310 equal to that of the firstimage 1300.

At step 1415, the web server 100 may align the groups with each other.In some embodiments, the web server 100 may find the edges (top, bottom,and sides) and centerlines of each group to facilitate alignment. Theweb server 100 may align a first of the groups, such as the topmost,leftmost group, to the grid first. Subsequently, the web server 100 mayfollow any of the alignment steps recited above to identify groups thatshould be aligned with each other, and then to align the groups. Theillustrated web page layout demonstrates several examples. In FIG. 14,the groups 1330, 1340, 1350 of the family group 1360 are determined tobe non-uniformly spaced horizontally, and the middle group 1340 is movedto the left to uniformly space the groups 1330, 1340, 1350 (see FIG.15). Then, the rightmost group 1350 is determined to be vertically outof alignment with the other two groups 1330, 1340 and is moved so thatits top edge aligns with those of the other groups 1330, 1340, as shownin FIG. 16. Finally, the bottom edge of the middle group 1340 isdetermined to be out of alignment with the other two groups 1330, 1350;through element analysis as described above, the second image 1310 isdetermined to be shorter than the other two images 1300, 1320 and itssize is increased accordingly. These steps result in a final alignmentof the groups 1330, 1340, 1350 as shown in FIG. 17. With all groups andelements aligned, at step 1420 the web server 100 may publish the webpage(s).

The website builder may further have a video production module (herein“video producer”) that aids the user in producing video content (herein“videos”) for the user's website or other online platforms. The videoproducer may be a standalone module of the system 1000, or it may becomponent of another module, such as the data processing module 1015 orwebsite generation module 1020. The video producer may create videosbased on content obtained from the user's web presence, including thewebsite built or under development within the website builderapplication. Upon publication of the website or completion of the video,the video producer may publish the video to one or more of the onlineplatforms. In some embodiments, publication of the video may improvesearch engine indexing of the video and the web page(s) on which itappears.

The web server 100 may be configured to generate a video having anysuitable purpose or message. Examples include an introduction oroverview of the user's business, an instructional video for a product, avideo tour of a space (e.g., the user's store), and the like. FIG. 19illustrates an example method of generating a “profile” or overviewvideo using website elements added to the website builder application.At step 1600, the web server 100 may provide the website builderinterface as in step 1400 described above. At step 1605, the web server100 may collect video content from the website elements added by theuser to the website via the website builder interface. Step 1605 may beperformed during the website layout process. That is, the web server 100may collect the video content as the user is building his website in thewebsite builder application. Alternatively, the web server 100 maycollect the video content after the user has finalized the websitedesign and is ready to publish or has published the website. In anotherembodiment, the web server 100 may collect the video content from apublished website using any suitable content scraping algorithm toobtain the video content described below.

The video content may include theme data and presentation data. Themedata may include data that provides a unifying look and feel, orbackground, for the presentation data. Theme data may include businesslogos, color schemes, fonts and typesets, design elements such as lines,curves, and shapes, sound files or streams, element layouts, and thelike. Theme data may be extracted from text or graphic elementsuploaded, drawn, or typed by the user, as well as from the source codeof the web page. The web server 100 may identify primary themes from thetheme data by frequency or prominence analysis. Frequency analysis mayinclude a count of the times an element of theme data is repeated on aweb page or across the user's website as a whole. For example, if animage serves as a background image for every web page on the user'swebsite, the web server 100 may identify the two or three most usedcolors in the image as the color scheme of the website. The web server100 may use any suitable method for identifying frequently-used colors,such as by counting pixels having a certain color value (i.e., a certainRGB or CMYK value) or range of values. Prominence analysis may includean identification of the theme data elements that are displayed in thetypically most-viewed locations of a web page. For example, the webserver 100 may identify business logos and color scheme(s) from themasthead of a web page, and may identify the most important typesettingfrom the masthead and/or headers on the web page. In some embodiments,the web server 100 may identify fonts or typesets from the source codeof the web page, or by performing optical character recognition ofimages on the web page and font comparisons of any text identified inthe images to know fonts or typesets.

Presentation data may include data that conveys descriptive contentabout the business to viewers. Presentation data may include text (e.g.headers, paragraphs, etc.), images, slideshows, video clips, informationfrom interactive web applications, information in hyperlinks (e.g., webaddresses) or from hyperlinked content, and the like. The web server 100may identify elements of presentation data by content type, such astext, image, video, etc. The content type may be identifiable from HTMLtags in the web page source code, from a filename of the element (e.g.,“store_photo.gif” may be identified as an image by its file extension),or from element type indicators used within the website builder program.In an example of the latter, the website builder interface provided atstep 1600 is a drag-and-drop environment, where the user selects thetype of content to add and drags a new element into the designenvironment to insert the element into the web page; the web server 100tracks the content type of the added element. The web server 100 mayfurther identify elements of presentation data by more informationalcategories. For example, text may be identified as title, header,paragraph, and the like, according to its HTML tag.

The web server 100 may identify organizational details describing thepresentation data elements. Organizational details may include the webpage title or template (e.g., home page, “about us” page, contact page,menu/product list page) from which the element was obtained, placementon the web page (e.g., masthead, center, bottom), whether the dataelement was emphasized (e.g., by italicized or capital letters,relatively larger font, or different font or background color fromsurrounding elements), and other information about how the presentationdata is organized that may indicate which data elements are prominentand should be included in the video.

At step 1610, the web server 100 may optionally collect supplementalvideo content that includes theme data and/or presentation dataobtainable from another data source outside of the web page, such asfrom any of the data stores 115-160 accessible by the web server 100.For example, the web server 100 may collect presentation data fromsocial networking platforms on which the user has an account or profileor from an online business listing data store (e.g., YELP!) on which theuser's business is listed. Such presentation data may be obtained frominteraction data collect (e.g., at step 200) as described above. In someembodiments, the supplemental presentation data may include stockimages, video, or other video content that the web server 100 may obtainfrom a stock content data store. The web server 100 may obtain suitablestock content by identifying the industry of the user's business andsearching for relevant stock content.

In some embodiments, the web server 100 may store the theme data andpresentation data as records in a database. The records may be arrangedin a data structure that facilitates creation of the video. In someembodiments, certain data elements, such as the business name andindustry, may be required for video creation, and the data structure mayinclude a record for each required element. Another content requirementmay be a predetermined amount of text or video data that is sufficientto create a video of a desired length. For example, the web server 100may be required to collect at least 150 words from paragraph tags on thewebsite to create a voiceover or readable text overlay for a 30 secondvideo. The web server 100 may continue to collect content at steps 1605and 1610 at least until it stores theme data or presentation data ineach of the required element records.

At step 1615, the web server 100 may produce the video. In someembodiments, the theme data and presentation data may be stitchedtogether with audio, small animations, etc., using any suitable videoproduction technique. Based on the intent and context of how an image ortext is used on each web page (e.g., items on a page titled “menu” maybe displayed differently than pictures in the “About us” page), thevideo may modify the display of data collected from each of those webpages. In one embodiment, the web server 100 may engage a videoproduction server to create the video. The video production server maybe operated by the web server 100 or by a third party. For example, theweb server 100 may format the collected theme data and presentation datafor use by the ANIMOTO video creation service, and may transmit theformatted data to a video production server operated by ANIMOTO. The webserver 100 may then receive the completed video from ANIMOTO.

At step 1620, the web server 100 may publish the video in one or moreonline locations. The web server 100 may embed the video on the user'swebsite and may publish the website together with the video.Additionally or alternatively, the web server 100 may publish the videoon YOUTUBE and/or another video streaming service.

The schematic flow chart diagrams included are generally set forth aslogical flow-chart diagrams. As such, the depicted order and labeledsteps are indicative of one embodiment of the presented method. Othersteps and methods may be conceived that are equivalent in function,logic, or effect to one or more steps, or portions thereof, of theillustrated method. Additionally, the format and symbols employed areprovided to explain the logical steps of the method and are understoodnot to limit the scope of the method. Although various arrow types andline types may be employed in the flow-chart diagrams, they areunderstood not to limit the scope of the corresponding method. Indeed,some arrows or other connectors may be used to indicate only the logicalflow of the method. For instance, an arrow may indicate a waiting ormonitoring period of unspecified duration between enumerated steps ofthe depicted method. Additionally, the order in which a particularmethod occurs may or may not strictly adhere to the order of thecorresponding steps shown.

Various embodiments of the invention may be implemented at least in partin any conventional computer programming language. For example, someembodiments may be implemented in a procedural programming language(e.g., “C”), or in an object oriented programming language (e.g.,“C++”). Other embodiments of the invention may be implemented aspreprogrammed hardware elements (e.g., application specific integratedcircuits, FPGAs, and digital signal processors), or other relatedcomponents.

In some embodiments, the disclosed apparatus and methods (e.g., see thevarious flow charts described above) may be implemented as a computerprogram product for use with a computer system. Such implementation mayinclude a series of computer instructions fixed either on a tangiblemedium, such as a computer readable medium (e.g., a diskette, CD-ROM,ROM, or fixed disk) or transmittable to a computer system, via a modemor other interface device, such as a communications adapter connected toa network over a medium.

The medium may be either a tangible medium (e.g., optical or analogcommunications lines) or a medium implemented with wireless techniques(e.g., WIFI, microwave, infrared or other transmission techniques). Theseries of computer instructions can embody all or part of thefunctionality previously described herein with respect to the system.

Those skilled in the art should appreciate that such computerinstructions can be written in a number of programming languages for usewith many computer architectures or operating systems. Furthermore, suchinstructions may be stored in any memory device, such as semiconductor,magnetic, optical or other memory devices, and may be transmitted usingany communications technology, such as optical, infrared, microwave, orother transmission technologies.

Among other ways, such a computer program product may be distributed asa removable medium with accompanying printed or electronic documentation(e.g., shrink wrapped software), preloaded with a computer system (e.g.,on system ROM or fixed disk), or distributed from a server or electronicbulletin board over the network (e.g., the Internet or World Wide Web).Of course, some embodiments of the invention may be implemented as acombination of both software (e.g., a computer program product) andhardware. Still other embodiments of the invention are implemented asentirely hardware, or entirely software.

The present invention has been described in terms of one or morepreferred embodiments, and it should be appreciated that manyequivalents, alternatives, variations, and modifications, aside fromthose expressly stated, are possible and within the scope of theinvention.

We claim:
 1. A method, comprising: collecting, by a server computerelectronically connected to a communication network, interaction data ofa user; and calculating, by the server computer and from the interactiondata, one or both of: a contact importance score for each of one or morecontacts that produced a portion of the interaction data; and anengagement score for the user.
 2. The method of claim 1, furthercomprising: for each contact for which the contact importance score iscalculated: identifying, by the server computer, the contact from theinteraction data; and collecting, by the server computer, contact datafrom one or more data stores, the contact data being related to thecontact's interactions with the user; wherein the contact importancescore is calculated for the contact from the contact data.
 3. The methodof claim 1, wherein the contact importance score comprises a pluralityof components, the components comprising one or more of a contact type,a contact location, a contact industry, a contact purchase history, acontact interactivity history, and a contact online reach.
 4. The methodof claim 3, wherein calculating the contact importance score comprises:obtaining a value for each of the plurality of components; adjusting thevalues of each of the components according to a predetermined weightcorresponding to the importance of the component to an industry of theuser; and combining the values to obtain the contact importance score.5. The method of claim 1, further comprising: organizing, by the servercomputer, each discrete element of the interaction data as a feed entryin a single feed; and displaying, by the server computer via aninterface, the single feed to the user with the feed entries arranged bycontact importance score of the contact that produced the discreteelement of the interaction data.
 6. The method of claim 5, furthercomprising: receiving, by the server computer, a selection of one ormore of the feed entries; and updating the calculating step according tothe selection.
 7. The method of claim 1, further comprising: collecting,by the server computer, engagement data comprising the interaction dataand web presence data; and calculating, by the server computer, one ormore components of the engagement score from the engagement data;wherein the engagement score is calculated using the components of theengagement score.
 8. The method of claim 7, further comprisingpresenting, to the user by the server computer, one or morerecommendations for improving the engagement score.
 9. The method ofclaim 8, wherein the recommendations correspond to an age of the user'sbusiness.
 10. The method of claim 9, further comprising determining theage of the user's business within a business lifecycle framework. 11.The method of claim 7, wherein the components of the engagement scorecorrespond to one or more best practices of an industry of the user'sbusiness.
 12. The method of claim 7, wherein the computer servercalculates both of the contact importance score and the engagementscore, the method further comprising: identifying, by the servercomputer, the contact from the interaction data; and collecting, by theserver computer, contact data from one or more data stores, the contactdata being related to the contact's interactions with the user; whereinthe contact importance score is calculated for the contact from thecontact data.
 13. The method of claim 12, wherein the contact importancescore comprises a plurality of components, the components comprising oneor more of a contact type, a contact location, a contact industry, acontact purchase history, a contact interactivity history, and a contactonline reach.
 14. The method of claim 1, further comprising:identifying, by the server computer according to an algorithm, aplurality of potential content; receiving, by the server computer fromthe user, a selection of the potential content as selected content;posting, by the server computer, the selected content to one or moreonline platforms of the user; and updating, by the server computer, thealgorithm based on the interaction data; wherein the interaction datacomprises interaction of the user's audience with the selected content.15. The method of claim 14, wherein identifying the plurality ofpotential content comprises searching one or more data stores for publiccontent using one or more keywords related to an industry of the user.16. The method of claim 14, wherein the interaction data is used toidentify the potential content.
 17. A method, comprising: identifying,by a server computer electronically connected to a communicationnetwork, a plurality of potential content comprising one or both ofpublic content and original content; and posting, by the servercomputer, one or more of the plurality of potential content to one ormore online platforms of a user; wherein identifying the originalcontent comprises automatically commissioning the generation of theoriginal content.
 18. The method of claim 17, further comprising:monitoring, by the server computer, interaction of the user's audiencewith the posted potential content; and updating, by the server computer,a ratio of original content to public content based on the monitoredinteraction, the ratio being used to identify the potential content. 19.The method of claim 17, further comprising: displaying, by the servercomputer, the potential content to the user; and receiving a selectionby the user of the potential content, wherein the potential content thatis posted to the one or more platforms is the potential content selectedby the user.
 20. The method of claim 17, further comprising:determining, by the server computer, a strategic time for postingcontent to the one or more platforms, the strategic time depending onthe user's industry; receiving a request from a user an identificationof “smart post” potential content; and posting the “smart post”potential content to the one or more platforms at the strategic time.